package me.szlx.thing;

public interface ThingCreator<T extends Thing> {
    /**
     * 创建事物事件。
     *
     * @param code        事物代码，不为{@code null}。
     * @param name        事物名称，不为{@code null}。
     * @param description 事物描述。
     * @param traits      事物特征。
     * @return 创建的事物。
     */
    T create(Object code, String name, String description, Traits traits);
}
